package 回溯法.DFS;

import java.util.Scanner;

/**
 * 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串，请计算解码方法的总数。
 * 12可以解码成“AB”，“A，B"这两种
 *
 * @author Administrator
 *
 */
public class A_Z编码 {
	static int count = 0;

	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);

		num(sc.next(), 0, true);
		System.out.println(count);
	}

	public static void num(String n, int start, boolean flag) {
		if (n.contains("0")) {
			n = n.replace(n, "10");
			if (n.contains("0")) {
				return;
			}
		}
		if (start >= n.length() - 1) {
			count++;
			return;
		}

		int num = Integer.parseInt(String.valueOf(n.charAt(start)));
		int numNext = Integer.parseInt(String.valueOf(n.charAt(start + 1)));

		if (num == 2 && numNext <= 6||num==1) {
			num(n, start + 2, true);
			flag=false;
		}

		num(n, start + 1, true);

	}


}
